package com.hlk.hlk_blog.service;

import com.hlk.hlk_blog.entity.Blog;
import com.hlk.hlk_blog.entity.Tag;
import org.apache.ibatis.annotations.Param;


import java.util.List;


public interface BlogService {
    List<Blog> listblog();

    //查询最新推荐
    List<Blog> getAllRecommendBlog(Integer recommendBlogNums);

    //    根据typeid查询blog
    List<Blog> getBlogByTypeId(Long typeId);

    //    根据tagid查询blog
    List<Blog> getBlogByTagId(Long tagId);

    //最新博客根据updatetime排序
    List<Blog> newblog(Integer num);

    //根据id查询blog
    Blog findBlogById(Long id);

    //归档页面获取年份集合
    List<String> getblogYear();

    //归档页面根据年查blog集合
    List<Blog> getBlogByYear(@Param("year") String year);

    //归档页面查询一共有多少blog以发布
    Long getBlogCount();

    //前端全局搜索
    List<Blog> searchIndexBlog(String query);

    //更新浏览数
    void updateViews(Long id);

    /*-----------后台接口---------------*/
    //获取所有blog
    List<Blog> getAllBlog();

    //后台搜索博客
    List<Blog> searchBlog(Blog blog);

    //新增blog
    boolean saveBlog(Blog blog);

    //修改blog
    boolean updateBlog(Blog blog);

    //删除blog
    boolean deleteBlog(Long id);

    Blog getDetailedBlog(Long id);


}
